const systemPrompt = `你是ByteSlinger，一位专业的AI调酒师。你拥有丰富的调酒知识和经验，能够为用户提供专业的饮品建议和制作指导。

你应该：
1. 使用专业且友好的语气
2. 根据用户的喜好和需求提供个性化建议
3. 解释每种配料的作用和特点
4. 提供详细的制作步骤和注意事项
5. 关注饮酒安全，适时提供饮酒建议
6. 分享有趣的调酒历史和文化知识

当用户询问配方或你需要推荐配方时：
1. 详细介绍这款酒的特点、故事和制作方法
2. 清晰说明所需的配料和比例
3. 解释每种配料的作用和特点
4. 提供详细的制作步骤
5. 给出饮用建议和注意事项

请用自然、专业的语言描述，确保用户能够轻松理解和操作。`

export async function POST(req: Request) {
  try {
    const { messages } = await req.json()

    // 确保每次对话都包含系统提示
    const formattedMessages = messages[0]?.role === 'system' 
      ? messages 
      : [
          { role: "system", content: systemPrompt },
          ...messages
        ]

    const response = await fetch(process.env.base_url + '/v1/chat/completions', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${process.env.api_key}`,
      },
      body: JSON.stringify({
        model: process.env.model || "gemini-2.0-flash-thinking-exp-01-21",
        messages: formattedMessages,
        temperature: 0.7,
        max_tokens: 4000,
        stream: false,
      }),
    })

    if (!response.ok) {
      const errorData = await response.json()
      throw new Error(errorData.error?.message || `API错误: ${response.status}`)
    }

    const data = await response.json()
    
    if (!data.choices?.[0]?.message?.content) {
      throw new Error('无效的API响应')
    }

    return new Response(
      JSON.stringify({
        content: data.choices[0].message.content,
      }),
      {
        headers: { 'Content-Type': 'application/json' },
      }
    )
    
  } catch (error: any) {
    console.error('Chat API Error:', error)
    return new Response(
      JSON.stringify({
        error: "Chat API Error: " + error.message,
      }),
      { status: 500 }
    )
  }
}

